<template>
  <div class="app-container">
      <div class="filter-container">
        <el-button class="filter-item" type="primary" v-waves icon="el-icon-plus" @click="handleUpdate(null)">添加</el-button>

        <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="规则标题" v-model="filters.like$title"></el-input>

        <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">搜索</el-button>
        <el-button class="filter-item" type="primary"  v-waves icon="el-icon-document" @click="exportExcelFile">导出</el-button>
      </div>
      <el-table :data="list" @sort-change="sortChange" v-loading="listLoading" element-loading-text="给我一点时间" border fit highlight-current-row
      style="width: 100%">
        <el-table-column align="center" type="index" label="序号" width="80">
        </el-table-column>

        <el-table-column  prop="name" align="center" label="规则名称" width="120">
          <template slot-scope="scope">
            <span>{{scope.row.name}}</span>
          </template>
        </el-table-column>

        <el-table-column  prop="title" align="center" label="规则标题" width="120">
          <template slot-scope="scope">
            <span>{{scope.row.title}}</span>
          </template>
        </el-table-column>

        <el-table-column  prop="value1" align="center" label="值1" width="120">
          <template slot-scope="scope">
            <span>{{scope.row.value1}}</span>
          </template>
        </el-table-column>

        <el-table-column  prop="value2" align="center" label="值2" width="120">
          <template slot-scope="scope">
            <span>{{scope.row.value2}}</span>
          </template>
        </el-table-column>

        <el-table-column align="center" label="操作" width="200" class-name="small-padding">
          <template slot-scope="scope">
            <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">修改</el-button>
            <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pagination-container">
      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="params.page"
        :page-sizes="[10,20,30,50]" :page-size="params.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
      </el-pagination>
    </div>

    <el-dialog :title="isEditing?'修改':'添加'" :visible.sync="dialogFormVisible">
      <el-form class="dialog-form" :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="120px">

        <el-form-item label="规则名称" prop="name">

                  <el-input v-model="temp.name" placeholder="规则名称"></el-input>

        </el-form-item>

        <el-form-item label="规则标题" prop="title">

                  <el-input v-model="temp.title" placeholder="规则标题"></el-input>

        </el-form-item>

        <el-form-item label="值1" prop="value1">

                  <el-input v-model="temp.value1" placeholder="值1"></el-input>

        </el-form-item>

        <el-form-item label="值2" prop="value2">

                  <el-input v-model="temp.value2" placeholder="值2"></el-input>

        </el-form-item>

      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取消</el-button>
        <el-button type="primary" :loading="submiting" @click="submitFormAction">确定</el-button>
      </div>
    </el-dialog>
  </div>
</template>

<script>

export default {
  data () {
    return {
      temp: {

        id: '',

        name: '',

        title: '',

        value1: '',

        value2: ''

      },

      rules: {

        name: [

          { required: true, message: '规则名称不能为空', trigger: 'change', max: 30}

        ],

        title: [

          { required: true, message: '规则标题不能为空', trigger: 'change', max: 20}

        ],

        value1: [

          { required: true, message: '值1不能为空', trigger: 'change', max: 30}

        ],

        value2: [

          { required: true, message: '值2不能为空', trigger: 'change', max: 30}

        ]

      }
    }
  },
  created () {
    this.init('settings', 1).loadData()
  },
  filters: {

  },
  methods: {
    exportExcelFile () {
      this.exportExcel({
        title: '系统设置',
        fields: [

          {field: 'name', title: '规则名称'},

          {field: 'title', title: '规则标题'},

          {field: 'value1', title: '值1'},

          {field: 'value2', title: '值2'}

        ]
      }).then(info => {
        this.openWin(info)
      })
    }
  }
}
</script>
